home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 6 / CU Amiga Magazine's Super CD-ROM 06 (1996)(EMAP Images)(GB)(Track 1 of 4)[!][issue 1997-01].iso / cucd / prog / mui / muirexx2.2 / demos / muirexxbuild / ask_object.rexx < prev    next >
OS/2 REXX Batch file  |  1996-09-29  |  35KB  |  1,029 lines

  1. /* */
  2. options results
  3. parse arg '='obj
  4.  
  5. address BUILD
  6.  
  7. window ID SET CLOSE
  8.  
  9. parse var obj gobj .
  10. gobj = strip(gobj)
  11. select
  12.     when index(gobj,'end') = 1 then nop
  13.     when index(gobj,'window') = 1 then call open_ask_window(obj)
  14.     when index(gobj,'group') = 1 then call open_ask_group(obj)
  15.     when index(gobj,'menu') = 1 then call open_ask_menu(obj)
  16.     when index(gobj,'do') = 1 then call open_ask_do(obj)
  17.     when index(gobj,'item') = 1 then call open_ask_item(obj)
  18.     when index(gobj,'space') = 1 then call open_ask_space(obj)
  19.     when index(gobj,'label') = 1 then call open_ask_label(obj)
  20.     when index(gobj,'view') = 1 then call open_ask_view(obj)
  21.     when index(gobj,'gauge') = 1 then call open_ask_gauge(obj)
  22.     when index(gobj,'meter') = 1 then call open_ask_gauge(obj)
  23.     when index(gobj,'button') = 1 then call open_ask_gadget(obj)
  24.     when index(gobj,'text') = 1 then call open_ask_gadget(obj)
  25.     when index(gobj,'switch') = 1 then call open_ask_gadget(obj)
  26.     when index(gobj,'image') = 1 then call open_ask_image(obj)
  27.     when index(gobj,'check') = 1 then call open_ask_image(obj)
  28.     when index(gobj,'cycle') = 1 then call open_ask_cycle(obj)
  29.     when index(gobj,'radio') = 1 then call open_ask_cycle(obj)
  30.     when index(gobj,'string') = 1 then call open_ask_string(obj)
  31.     when index(gobj,'popasl') = 1 then call open_ask_popasl(obj)
  32.     when index(gobj,'poplist') = 1 then call open_ask_popasl(obj)
  33.     when index(gobj,'slider') = 1 then call open_ask_slider(obj)
  34.     when index(gobj,'popslider') = 1 then call open_ask_slider(obj)
  35.     when index(gobj,'knob') = 1 then call open_ask_slider(obj)
  36.     when index(gobj,'dirlist') = 1 then call open_ask_dirlist(obj)
  37.     when index(gobj,'volumelist') = 1 then call open_ask_volumelist(obj)
  38.     when index(gobj,'list') = 1 then call open_ask_list(obj)
  39.     when index(gobj,'object') = 1 then call open_ask_object(obj)
  40.     when index(gobj,'application') = 1 then call open_ask_application(obj)
  41.     when index(gobj,'method') = 1 then call open_ask_method(obj)
  42.     otherwise call open_ask_generic(obj)
  43. end
  44.  
  45. exit
  46.  
  47. open_ask_window: procedure
  48. parse arg line
  49.  
  50. parse var line obj args
  51.  
  52. gobj = insert(obj,'',pos(obj,line)-1)
  53. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  54. else gid = ''
  55. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  56. else gcommand = ''
  57. parse var args 'PORT 'gport .,'TITLE """'glabel'"""' .,'ATTRS 'gattrs
  58.  
  59. window ID SET TITLE '"Window Object"' COMMAND '"build:set_object ['gobj']"'
  60.     group REGISTER LABELS '"Options,Attributes"'
  61.         group HORIZ
  62.             group
  63.                 label DOUBLE '"ID:"'
  64.                 label DOUBLE '"Command:"'
  65.                 label DOUBLE '"Port:"'
  66.                 label DOUBLE '"Title:"'
  67.             endgroup
  68.             group
  69.                 string ID S1 CONTENT gid
  70.                 popasl ID S2 CONTENT gcommand
  71.                 string ID S3 CONTENT gport
  72.                 string ID S4 CONTENT glabel
  73.             endgroup
  74.         endgroup
  75.         call attrsgroup
  76.     endgroup
  77.     call okgroup gobj
  78. endwindow
  79. call attrscomm gattrs
  80. return
  81.  
  82. open_ask_group: procedure
  83. parse arg line
  84.  
  85. Selected =                        0x8042654b /* V4  isg BOOL              */
  86. Weight =                          0x80421d1f /* V4  i.. WORD              */
  87. TRUE = 1
  88. FALSE = 0
  89.  
  90. parse var line obj args
  91.  
  92. gobj = insert(obj,'',pos(obj,line)-1)
  93. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  94. else gid = ''
  95. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  96. else gcommand = ''
  97. parse var args 'PORT 'gport .,'LABELS """'glabel'"""' .,'ATTRS 'gattrs
  98.  
  99. window ID SET TITLE '"Group Object"' COMMAND '"build:set_object ['gobj']"'
  100.     group REGISTER LABELS '"Options,Attributes"'
  101.         group HORIZ
  102.             group
  103.                 label DOUBLE '"ID:"'
  104.                 label DOUBLE '"Command:"'
  105.                 label DOUBLE '"Port:"'
  106.                 label DOUBLE '"Labels:"'
  107.                 label SINGLE '"Frame:"'
  108.                 label SINGLE '"Horiz:"'
  109.                 label SINGLE '"Type:"'
  110.             endgroup
  111.             group
  112.                 string ID S1 CONTENT gid
  113.                 popasl ID S2 CONTENT gcommand
  114.                 string ID S3 CONTENT gport
  115.                 string ID S4 CONTENT glabel
  116.                 group HORIZ
  117.                     group
  118.                         if index(args,'FRAME') ~= 0 then check ID C1 ATTRS Selected TRUE
  119.                         else check ID C1 ATTRS Selected FALSE
  120.                         if index(args,'HORIZ') ~= 0 then check ID C2 ATTRS Selected TRUE
  121.                         else check ID C2 ATTRS Selected FALSE
  122.                     endgroup
  123.                     space HORIZ
  124.                 endgroup
  125.                 cycle ID L1 LABELS '"NORMAL,REGISTER,VIRTUAL,SCROLL"' ATTRS Weight 0
  126.             endgroup
  127.         endgroup
  128.         call attrsgroup
  129.     endgroup
  130.     call okgroup gobj
  131. endwindow
  132. if index(line,'REGISTER') ~= 0 then cycle ID L1 LABEL '"REGISTER"'
  133. if index(line,'VIRTUAL') ~= 0 then cycle ID L1 LABEL '"VIRTUAL"'
  134. if index(line,'SCROLL') ~= 0 then cycle ID L1 LABEL '"SCROLL"'
  135. call attrscomm gattrs
  136. return
  137.  
  138. open_ask_menu: procedure
  139. parse arg line
  140.  
  141. parse var line obj .,'ID 'gid .,'LABEL """'glabel'"""' .,'ATTRS 'gattrs
  142.  
  143. gobj = insert(obj,'',pos(obj,line)-1)
  144. window ID SET TITLE '"Menu Object"' COMMAND '"build:set_object ['gobj']"'
  145.     group REGISTER LABELS '"Options,Attributes"'
  146.         group HORIZ
  147.             group
  148.                 label DOUBLE '"ID:"'
  149.                 label DOUBLE '"Label:"'
  150.             endgroup
  151.             group
  152.                 string ID S1 CONTENT gid
  153.                 string ID S2 CONTENT glabel
  154.             endgroup
  155.         endgroup
  156.         call attrsgroup
  157.     endgroup
  158.     call okgroup gobj
  159. endwindow
  160. call attrscomm gattrs
  161. return
  162.  
  163. open_ask_do: procedure
  164. parse arg line
  165.  
  166. CycleChain =                      0x80421ce7 /* V11 isg LONG              */
  167. Frame =                           0x8042ac64 /* V4  i.. LONG              */
  168.  
  169. Frame_None = 0
  170.  
  171. parse var line obj counter' = 'begin' to 'finish
  172.  
  173. gobj = insert(obj,'',pos(obj,line)-1)
  174. window ID SET TITLE '"Do Loop"' COMMAND '"build:set_object ['gobj']"'
  175.     group HORIZ
  176.         space HORIZ
  177.         group HORIZ 'FRAME'
  178.             label DOUBLE 'do'
  179.             string ID P1 ATTRS CycleChain 1 Frame Frame_None CONTENT counter
  180.             label DOUBLE '"="'
  181.             string ID P2 ATTRS CycleChain 1 Frame Frame_None CONTENT begin
  182.             label DOUBLE 'to'
  183.             string ID P3 ATTRS CycleChain 1 Frame Frame_None CONTENT finish
  184.         endgroup
  185.         space HORIZ
  186.     endgroup
  187.     call okgroup gobj
  188. endwindow
  189. return
  190.  
  191. open_ask_item: procedure
  192. parse arg line
  193.  
  194. parse var line obj args
  195.  
  196. gobj = insert(obj,'',pos(obj,line)-1)
  197. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  198. else gid = ''
  199. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  200. else gcommand = ''
  201. parse var args 'PORT 'gport .,'LABEL """'glabel'"""' .,'ATTRS 'gattrs
  202.  
  203. window ID SET TITLE '"Item Object"' COMMAND '"build:set_object ['gobj']"'
  204.     group REGISTER LABELS '"Options,Attributes"'
  205.         group HORIZ
  206.             group
  207.                 label DOUBLE '"ID:"'
  208.                 label DOUBLE '"Command:"'
  209.                 label DOUBLE '"Port:"'
  210.                 label DOUBLE '"Label:"'
  211.             endgroup
  212.             group
  213.                 string ID S1 CONTENT gid
  214.                 popasl ID S2 CONTENT gcommand
  215.                 string ID S3 CONTENT gport
  216.                 string ID S4 CONTENT glabel
  217.             endgroup
  218.         endgroup
  219.         call attrsgroup
  220.     endgroup
  221.     call okgroup gobj
  222. endwindow
  223. call attrscomm gattrs
  224. return
  225.  
  226. open_ask_space: procedure
  227. parse arg line
  228.  
  229. Selected =                        0x8042654b /* V4  isg BOOL              */
  230. TRUE = 1
  231. FALSE = 0
  232.  
  233. parse var line obj opt
  234.  
  235. gobj = insert(obj,'',pos(obj,line)-1)
  236. window ID SET TITLE '"Space Object"' COMMAND '"build:set_object ['gobj']"'
  237.     group HORIZ
  238.         group
  239.             label SINGLE '"Bar:"'
  240.             label SINGLE '"Horiz:"'
  241.             label DOUBLE '"Value:"'
  242.         endgroup
  243.         group
  244.             group HORIZ
  245.                 group
  246.                     if index(opt,'BAR') ~= 0 then do
  247.                         check ID C1 ATTRS Selected TRUE
  248.                         opt = substr(opt,index(opt,'BAR')+4)
  249.                     end
  250.                     else check ID C1 ATTRS Selected FALSE
  251.                     if index(opt,'HORIZ') ~= 0 then do
  252.                         check ID C2 ATTRS Selected TRUE
  253.                         opt = substr(opt,index(opt,'HORIZ')+6)
  254.                     end
  255.                     else check ID C2 ATTRS Selected FALSE
  256.                 endgroup
  257.                 space HORIZ
  258.             endgroup
  259.             string ID S1 CONTENT opt
  260.         endgroup
  261.     endgroup
  262.     call okgroup gobj
  263. endwindow
  264. return
  265.  
  266. open_ask_label: procedure
  267. parse arg line
  268.  
  269. Selected =                        0x8042654b /* V4  isg BOOL              */
  270. TRUE = 1
  271. FALSE = 0
  272.  
  273. parse var line obj .,'"'glabel'"'
  274.  
  275. gobj = insert(obj,'',pos(obj,line)-1)
  276. window ID SET TITLE '"Label Object"' COMMAND '"build:set_object ['gobj']"'
  277.     group HORIZ
  278.         group
  279.             label SINGLE '"Left:"'
  280.             label SINGLE '"Center:"'
  281.             label SINGLE '"Single:"'
  282.             label SINGLE '"Double:"'
  283.             label DOUBLE '"Label:"'
  284.         endgroup
  285.         group
  286.             group HORIZ
  287.                 group
  288.                     if index(line,'LEFT') ~= 0 then check ID C1 ATTRS Selected TRUE
  289.                     else check ID C1 ATTRS Selected FALSE
  290.                     if index(line,'CENTER') ~= 0 then check ID C2 ATTRS Selected TRUE
  291.                     else check ID C2 ATTRS Selected FALSE
  292.                     if index(line,'SINGLE') ~= 0 then check ID C3 ATTRS Selected TRUE
  293.                     else check ID C3 ATTRS Selected FALSE
  294.                     if index(line,'DOUBLE') ~= 0 then check ID C4 ATTRS Selected TRUE
  295.                     else check ID C4 ATTRS Selected FALSE
  296.                 endgroup
  297.                 space HORIZ
  298.             endgroup
  299.             string ID S1 CONTENT glabel
  300.         endgroup
  301.     endgroup
  302.     call okgroup gobj
  303. endwindow
  304. return
  305.  
  306. open_ask_view: procedure
  307. parse arg line
  308.  
  309. parse var line obj .,'ID 'gid .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'FILE "'gfile'"' .,'ATTRS 'gattrs 'STRING' .,'STRING "'gstring'"'
  310.  
  311. gobj = insert(obj,'',pos(obj,line)-1)
  312. window ID SET TITLE '"View Object"' COMMAND '"build:set_object ['gobj']"'
  313.     group REGISTER LABELS '"Options,Attributes"'
  314.         group HORIZ
  315.             group
  316.                 label DOUBLE '"ID:"'
  317.                 label DOUBLE '"Help:"'
  318.                 label DOUBLE '"Node:"'
  319.                 label DOUBLE '"File:"'
  320.                 label DOUBLE '"String:"'
  321.             endgroup
  322.             group
  323.                 string ID S1 CONTENT gid
  324.                 string ID S2 CONTENT ghelp
  325.                 string ID S3 CONTENT gnode
  326.                 popasl ID S4 CONTENT gfile
  327.                 string ID S5 CONTENT gstring
  328.             endgroup
  329.         endgroup
  330.         call attrsgroup
  331.     endgroup
  332.     call okgroup gobj
  333. endwindow
  334. call attrscomm gattrs
  335. return
  336.  
  337. open_ask_gauge: procedure
  338. parse arg line
  339.  
  340. parse var line obj .,'ID 'gid .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'LABEL """'glabel'"""' .,'ATTRS 'gattrs
  341.  
  342. gobj = insert(obj,'',pos(obj,line)-1)
  343. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  344.     group REGISTER LABELS '"Options,Attributes"'
  345.         group HORIZ
  346.             group
  347.                 label DOUBLE '"ID:"'
  348.                 label DOUBLE '"Help:"'
  349.                 label DOUBLE '"Node:"'
  350.                 label DOUBLE '"Label:"'
  351.             endgroup
  352.             group
  353.                 string ID S1 CONTENT gid
  354.                 string ID S2 CONTENT ghelp
  355.                 string ID S3 CONTENT gnode
  356.                 string ID S4 CONTENT glabel
  357.             endgroup
  358.         endgroup
  359.         call attrsgroup
  360.     endgroup
  361.     call okgroup gobj
  362. endwindow
  363. call attrscomm gattrs
  364. return
  365.  
  366. open_ask_gadget: procedure
  367. parse arg line
  368.  
  369. MUIA_Frame =                           0x8042ac64 /* V4  i.. LONG              */
  370. Disabled =                        0x80423661 /* V4  isg BOOL              */
  371. Selected =                        0x8042654b /* V4  isg BOOL              */
  372. Weight =                          0x80421d1f /* V4  i.. WORD              */
  373.  
  374. TRUE = 1
  375. FALSE = 0
  376.  
  377. parse var line obj args
  378.  
  379. gobj = insert(obj,'',pos(obj,line)-1)
  380. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  381. else gid = ''
  382. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  383. else gcommand = ''
  384. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'ICON "'gicon'"' .,'PICT "'gpict'"' .,'ATTRS 'gattrs 'LABEL' .,'LABEL "'glabel'"'
  385.  
  386. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  387.     group REGISTER LABELS '"Options,Image,Attributes"'
  388.         group HORIZ
  389.             group
  390.                 label DOUBLE '"ID:"'
  391.                 cycle ID L1 LABELS '"Press,App,Drop"' ATTRS Weight 0
  392.                 label DOUBLE '"Port:"'
  393.                 label DOUBLE '"Help:"'
  394.                 label DOUBLE '"Node:"'
  395.                 label DOUBLE '"Label:"'
  396.             endgroup
  397.             group
  398.                 string ID S1 CONTENT gid
  399.                 popasl ID S2 CONTENT gcommand
  400.                 string ID S3 CONTENT gport
  401.                 string ID S4 CONTENT ghelp
  402.                 string ID S5 CONTENT gnode
  403.                 string ID S6 CONTENT glabel
  404.             endgroup
  405.         endgroup
  406.         group
  407.             space
  408.             group HORIZ
  409.                 space HORIZ
  410.                 group ID GIMG
  411.                     switch ID AIMG ATTRS MUIA_Frame 0
  412.                 endgroup
  413.                 space HORIZ
  414.             endgroup
  415.             space
  416.             popasl ID S7 COMMAND '"build:ask_comm SET %s"'
  417.             group HORIZ
  418.                 cycle ID L2 COMMAND '"build:ask_comm IMAGE"' LABELS '"Icon,Picture,None"' ATTRS Weight 0
  419.                 space HORIZ
  420.                 group HORIZ
  421.                     label SINGLE '"Transparent:"'
  422.                     if index(args,'TRANS') ~= 0 then check ID C1 COMMAND '"build:ask_comm SET"' ATTRS Selected TRUE
  423.                     else check ID C1 COMMAND '"build:ask_comm SET"' ATTRS Selected FALSE
  424.                 endgroup
  425.             endgroup
  426.         endgroup
  427.         call attrsgroup
  428.     endgroup
  429.     call okgroup gobj
  430. endwindow
  431. switch ID AIMG APP COMMAND '"build:ask_comm SET %s"'
  432. if index(line,'APP') ~= 0 then cycle ID L1 LABEL '"App"'
  433. else if index(line,'DROP') ~= 0 then cycle ID L1 LABEL '"Drop"'
  434. select
  435.     when gicon ~= '' then do
  436.         check ID C1 ATTRS Disabled TRUE
  437.         cycle ID L2 LABEL 'Icon'
  438.         popasl ID S7 CONTENT gicon
  439.         call 'build:ask_comm' SET gicon
  440.     end
  441.     when gpict ~= '' then do
  442.         cycle ID L2 LABEL 'Picture'
  443.         popasl ID S7 CONTENT gpict
  444.         call 'build:ask_comm' SET gpict
  445.     end
  446.     otherwise do
  447.         check ID C1 ATTRS Disabled TRUE
  448.         cycle ID L2 LABEL 'None'
  449.     end
  450. end
  451. call attrscomm gattrs
  452. return
  453.  
  454. open_ask_image: procedure
  455. parse arg line
  456.  
  457. MUIA_Frame =                           0x8042ac64 /* V4  i.. LONG              */
  458. Weight =                          0x80421d1f /* V4  i.. WORD              */
  459.  
  460. parse var line obj args
  461.  
  462. gobj = insert(obj,'',pos(obj,line)-1)
  463. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  464. else gid = ''
  465. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  466. else gcommand = ''
  467. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'SPEC "'gspec':'gimage'"' .,'STRINGS """'gstring'"""' .,'ATTRS 'gattrs
  468.  
  469. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  470.     group REGISTER LABELS '"Options,Image,Attributes"'
  471.         group HORIZ
  472.             group
  473.                 label DOUBLE '"ID:"'
  474.                 label DOUBLE '"Command:"'
  475.                 label DOUBLE '"Port:"'
  476.                 label DOUBLE '"Help:"'
  477.                 label DOUBLE '"Node:"'
  478.                 label DOUBLE '"Strings:"'
  479.             endgroup
  480.             group
  481.                 string ID S1 CONTENT gid
  482.                 popasl ID S2 CONTENT gcommand
  483.                 string ID S3 CONTENT gport
  484.                 string ID S4 CONTENT ghelp
  485.                 string ID S5 CONTENT gnode
  486.                 string ID S6 CONTENT gstring
  487.             endgroup
  488.         endgroup
  489.         group
  490.             space
  491.             group HORIZ
  492.                 space HORIZ
  493.                 group ID GIMG
  494.                     image ID AIMG ATTRS MUIA_Frame 0
  495.                 endgroup
  496.                 space HORIZ
  497.             endgroup
  498.             space
  499.             group HORIZ
  500.                 cycle ID R1 COMMAND '"build:ask_comm ISET"' ATTRS Weight 0 LABELS '0,1,2,3,4,5,6'
  501.                 label DOUBLE ':'
  502.                 poplist ID S8 COMMAND '"build:ask_comm ISET %s"' LABELS 'ArrowUp,ArrowDown,ArrowLeft,ArrowRight,CheckMark,RadioButton,Cycle,PopUp,PopFile,PopDrawer,PropKnob,Drawer,HardDisk,Disk,Chip,Volume,Network,Assign,TapePlay,TapePlayBack,TapePause,TapeStop,TapeRecord,SliderKnob,TapeUp,TapeDown'
  503.             endgroup
  504.         endgroup
  505.         call attrsgroup
  506.     endgroup
  507.     call okgroup gobj
  508. endwindow
  509. if gimage = '' then do
  510.     gspec = 6
  511.     gimage = 15
  512. end
  513. cycle ID R1 LABEL gspec
  514. call 'build:ask_comm' ISET gimage
  515. call attrscomm gattrs
  516. return
  517.  
  518. open_ask_cycle: procedure
  519. parse arg line
  520.  
  521. parse var line obj args
  522.  
  523. gobj = insert(obj,'',pos(obj,line)-1)
  524. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  525. else gid = ''
  526. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  527. else gcommand = ''
  528. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'LABELS """'glabel'"""' .,'ATTRS 'gattrs
  529.  
  530. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  531.     group REGISTER LABELS '"Options,Attributes"'
  532.         group HORIZ
  533.             group
  534.                 label DOUBLE '"ID:"'
  535.                 label DOUBLE '"Command:"'
  536.                 label DOUBLE '"Port:"'
  537.                 label DOUBLE '"Help:"'
  538.                 label DOUBLE '"Node:"'
  539.                 label DOUBLE '"Labels:"'
  540.             endgroup
  541.             group
  542.                 string ID S1 CONTENT gid
  543.                 popasl ID S2 CONTENT gcommand
  544.                 string ID S3 CONTENT gport
  545.                 string ID S4 CONTENT ghelp
  546.                 string ID S5 CONTENT gnode
  547.                 string ID S6 CONTENT glabel
  548.             endgroup
  549.         endgroup
  550.         call attrsgroup
  551.     endgroup
  552.     call okgroup gobj
  553. endwindow
  554. call attrscomm gattrs
  555. return
  556.  
  557. open_ask_string: procedure
  558. parse arg line
  559.  
  560. parse var line obj args
  561.  
  562. gobj = insert(obj,'',pos(obj,line)-1)
  563. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  564. else gid = ''
  565. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  566. else gcommand = ''
  567. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'LABELS """'glabels'"""' .,'ATTRS 'gattrs 'CONTENT' .,'CONTENT "'glabel'"'
  568.  
  569. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  570.     group REGISTER LABELS '"Options,Attributes"'
  571.         group HORIZ
  572.             group
  573.                 label DOUBLE '"ID:"'
  574.                 label DOUBLE '"Command:"'
  575.                 label DOUBLE '"Port:"'
  576.                 label DOUBLE '"Help:"'
  577.                 label DOUBLE '"Node:"'
  578.                 label DOUBLE '"Content:"'
  579.             endgroup
  580.             group
  581.                 string ID S1 CONTENT gid
  582.                 popasl ID S2 CONTENT gcommand
  583.                 string ID S3 CONTENT gport
  584.                 string ID S4 CONTENT ghelp
  585.                 string ID S5 CONTENT gnode
  586.                 string ID S6 CONTENT glabel
  587.             endgroup
  588.         endgroup
  589.         call attrsgroup
  590.     endgroup
  591.     call okgroup gobj
  592. endwindow
  593. call attrscomm gattrs
  594. return
  595.  
  596. open_ask_popasl: procedure
  597. parse arg line
  598.  
  599. MUIA_Frame =                           0x8042ac64 /* V4  i.. LONG              */
  600. Weight =                          0x80421d1f /* V4  i.. WORD              */
  601.  
  602. parse var line obj args
  603.  
  604. gobj = insert(obj,'',pos(obj,line)-1)
  605. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  606. else gid = ''
  607. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  608. else gcommand = ''
  609. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'SPEC "'gspec':'gimage'"' .,'LABELS """'glabels'"""' .,'ATTRS 'gattrs 'CONTENT' .,'CONTENT "'glabel'"'
  610.  
  611. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  612.     group REGISTER LABELS '"Options,Image,Attributes"'
  613.         group HORIZ
  614.             group
  615.                 label DOUBLE '"ID:"'
  616.                 label DOUBLE '"Command:"'
  617.                 label DOUBLE '"Port:"'
  618.                 label DOUBLE '"Help:"'
  619.                 label DOUBLE '"Node:"'
  620.                 label DOUBLE '"Content:"'
  621.                 if obj = 'poplist' then label DOUBLE '"Labels:"'
  622.             endgroup
  623.             group
  624.                 string ID S1 CONTENT gid
  625.                 popasl ID S2 CONTENT gcommand
  626.                 string ID S3 CONTENT gport
  627.                 string ID S4 CONTENT ghelp
  628.                 string ID S5 CONTENT gnode
  629.                 string ID S6 CONTENT glabel
  630.                 if obj = 'poplist' then string ID S7 CONTENT glabels
  631.             endgroup
  632.         endgroup
  633.         group
  634.             space
  635.             group HORIZ
  636.                 space HORIZ
  637.                 group ID GIMG
  638.                     image ID AIMG ATTRS MUIA_Frame 0
  639.                 endgroup
  640.                 space HORIZ
  641.             endgroup
  642.             space
  643.             group HORIZ
  644.                 cycle ID R1 COMMAND '"build:ask_comm ISET"' ATTRS Weight 0 LABELS '0,1,2,3,4,5,6'
  645.                 label DOUBLE ':'
  646.                 poplist ID S8 COMMAND '"build:ask_comm ISET %s"' LABELS 'ArrowUp,ArrowDown,ArrowLeft,ArrowRight,CheckMark,RadioButton,Cycle,PopUp,PopFile,PopDrawer,PropKnob,Drawer,HardDisk,Disk,Chip,Volume,Network,Assign,TapePlay,TapePlayBack,TapePause,TapeStop,TapeRecord,SliderKnob,TapeUp,TapeDown'
  647.             endgroup
  648.         endgroup
  649.         call attrsgroup
  650.     endgroup
  651.     call okgroup gobj
  652. endwindow
  653. if gimage = '' then do
  654.     gspec = 6
  655.     gimage = 18
  656. end
  657. cycle ID R1 LABEL gspec
  658. call 'build:ask_comm' ISET gimage
  659. call attrscomm gattrs
  660. return
  661.  
  662. open_ask_slider: procedure
  663. parse arg line
  664.  
  665. parse var line obj args
  666.  
  667. gobj = insert(obj,'',pos(obj,line)-1)
  668. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  669. else gid = ''
  670. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  671. else gcommand = ''
  672. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'ATTRS 'gattrs
  673.  
  674. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  675.     group REGISTER LABELS '"Options,Attributes"'
  676.         group HORIZ
  677.             group
  678.                 label DOUBLE '"ID:"'
  679.                 label DOUBLE '"Command:"'
  680.                 label DOUBLE '"Port:"'
  681.                 label DOUBLE '"Help:"'
  682.                 label DOUBLE '"Node:"'
  683.             endgroup
  684.             group
  685.                 string ID S1 CONTENT gid
  686.                 popasl ID S2 CONTENT gcommand
  687.                 string ID S3 CONTENT gport
  688.                 string ID S4 CONTENT ghelp
  689.                 string ID S5 CONTENT gnode
  690.             endgroup
  691.         endgroup
  692.         call attrsgroup
  693.     endgroup
  694.     call okgroup gobj
  695. endwindow
  696. call attrscomm gattrs
  697. return
  698.  
  699. open_ask_list: procedure
  700. parse arg line
  701.  
  702. Selected =                        0x8042654b /* V4  isg BOOL              */
  703. Weight =                          0x80421d1f /* V4  i.. WORD              */
  704. TRUE = 1
  705. FALSE = 0
  706.  
  707. parse var line obj args
  708.  
  709. gobj = insert(obj,'',pos(obj,line)-1)
  710. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  711. else gid = ''
  712. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  713. else gcommand = ''
  714. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'TITLE """'gtitle'"""' .,'POS 'gpos .,'ATTRS 'gattrs 'STRING' .,'STRING 'gstring
  715.  
  716. window ID SET TITLE '"List Object"' COMMAND '"build:set_object ['gobj']"'
  717.     group REGISTER LABELS '"Options,Attributes"'
  718.         group HORIZ
  719.             group
  720.                 label DOUBLE '"ID:"'
  721.                 cycle ID L1 LABELS '"Press,App,Drop"' ATTRS Weight 0
  722.                 label DOUBLE '"Port:"'
  723.                 label DOUBLE '"Help:"'
  724.                 label DOUBLE '"Node:"'
  725.                 label DOUBLE '"Title:"'
  726.                 label DOUBLE '"Pos:"'
  727.                 label DOUBLE '"String:"'
  728.                 label SINGLE '"Insert:"'
  729.                 label SINGLE '"Nodup:"'
  730.                 label SINGLE '"Toggle:"'
  731.             endgroup
  732.             group
  733.                 string ID S1 CONTENT gid
  734.                 popasl ID S2 CONTENT gcommand
  735.                 string ID S3 CONTENT gport
  736.                 string ID S4 CONTENT ghelp
  737.                 string ID S5 CONTENT gnode
  738.                 string ID S6 CONTENT gtitle
  739.                 string ID S7 CONTENT gpos
  740.                 string ID S8 CONTENT gstring
  741.                 group HORIZ
  742.                     group
  743.                         if index(args,'INSERT') ~= 0 then check ID C1 ATTRS Selected TRUE
  744.                         else check ID C1 ATTRS Selected FALSE
  745.                         if index(args,'NODUP') ~= 0 then check ID C2 ATTRS Selected TRUE
  746.                         else check ID C2 ATTRS Selected FALSE
  747.                         if index(args,'TOGGLE') ~= 0 then check ID C3 ATTRS Selected TRUE
  748.                         else check ID C3 ATTRS Selected FALSE
  749.                     endgroup
  750.                     space HORIZ
  751.                 endgroup
  752.             endgroup
  753.         endgroup
  754.         call attrsgroup
  755.     endgroup
  756.     call okgroup gobj
  757. endwindow
  758. if index(line,'APP') ~= 0 then cycle ID L1 LABEL '"App"'
  759. else if index(line,'DROP') ~= 0 then cycle ID L1 LABEL '"Drop"'
  760. call attrscomm gattrs
  761. return
  762.  
  763. open_ask_dirlist: procedure
  764. parse arg line
  765.  
  766. Selected =                        0x8042654b /* V4  isg BOOL              */
  767. Weight =                          0x80421d1f /* V4  i.. WORD              */
  768. TRUE = 1
  769. FALSE = 0
  770.  
  771. parse var line obj args
  772.  
  773. gobj = insert(obj,'',pos(obj,line)-1)
  774. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  775. else gid = ''
  776. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  777. else gcommand = ''
  778. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'PATH "'gpath'"' .,'PATTERN "'gpattern'"' .,'ATTRS 'gattrs
  779.  
  780. window ID SET TITLE '"Dirlist Object"' COMMAND '"build:set_object ['gobj']"'
  781.     group REGISTER LABELS '"Options,Attributes"'
  782.         group HORIZ
  783.             group
  784.                 label DOUBLE '"ID:"'
  785.                 cycle ID L1 LABELS '"Press,App,Drop"' ATTRS Weight 0
  786.                 label DOUBLE '"Port:"'
  787.                 label DOUBLE '"Help:"'
  788.                 label DOUBLE '"Node:"'
  789.                 label DOUBLE '"Path:"'
  790.                 label DOUBLE '"Pattern:"'
  791.                 label SINGLE '"Reread:"'
  792.                 label SINGLE '"Toggle:"'
  793.             endgroup
  794.             group
  795.                 string ID S1 CONTENT gid
  796.                 popasl ID S2 CONTENT gcommand
  797.                 string ID S3 CONTENT gport
  798.                 string ID S4 CONTENT ghelp
  799.                 string ID S5 CONTENT gnode
  800.                 string ID S6 CONTENT gpath
  801.                 string ID S7 CONTENT gpattern
  802.                 group HORIZ
  803.                     group
  804.                         if index(args,'REREAD') ~= 0 then check ID C1 ATTRS Selected TRUE
  805.                         else check ID C1 ATTRS Selected FALSE
  806.                         if index(args,'TOGGLE') ~= 0 then check ID C2 ATTRS Selected TRUE
  807.                         else check ID C2 ATTRS Selected FALSE
  808.                     endgroup
  809.                     space HORIZ
  810.                 endgroup
  811.             endgroup
  812.         endgroup
  813.         call attrsgroup
  814.     endgroup
  815.     call okgroup gobj
  816. endwindow
  817. if index(line,'APP') ~= 0 then cycle ID L1 LABEL '"App"'
  818. else if index(line,'DROP') ~= 0 then cycle ID L1 LABEL '"Drop"'
  819. call attrscomm gattrs
  820. return
  821.  
  822. open_ask_volumelist: procedure
  823. parse arg line
  824.  
  825. parse var line obj args
  826.  
  827. gobj = insert(obj,'',pos(obj,line)-1)
  828. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  829. else gid = ''
  830. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  831. else gcommand = ''
  832. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'ATTRS 'gattrs
  833.  
  834. window ID SET TITLE '"Volumelist Object"' COMMAND '"build:set_object ['gobj']"'
  835.     group REGISTER LABELS '"Options,Attributes"'
  836.         group HORIZ
  837.             group
  838.                 label DOUBLE '"ID:"'
  839.                 label DOUBLE '"Command:"'
  840.                 label DOUBLE '"Port:"'
  841.                 label DOUBLE '"Help:"'
  842.                 label DOUBLE '"Node:"'
  843.             endgroup
  844.             group
  845.                 string ID S1 CONTENT gid
  846.                 popasl ID S2 CONTENT gcommand
  847.                 string ID S3 CONTENT gport
  848.                 string ID S4 CONTENT ghelp
  849.                 string ID S5 CONTENT gnode
  850.             endgroup
  851.         endgroup
  852.         call attrsgroup
  853.     endgroup
  854.     call okgroup gobj
  855. endwindow
  856. call attrscomm gattrs
  857. return
  858.  
  859. open_ask_object: procedure
  860. parse arg line
  861.  
  862. Selected =                        0x8042654b /* V4  isg BOOL              */
  863. List_Format =                     0x80423c0a /* V4  isg STRPTR            */
  864. TRUE = 1
  865. FALSE = 0
  866.  
  867. parse var line obj args
  868.  
  869. gobj = insert(obj,'',pos(obj,line)-1)
  870. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  871. else gid = ''
  872. if index(args,'COMMAND') > 0 then parse var args 'COMMAND """'gcommand'"""' args
  873. else gcommand = ''
  874. parse var args 'PORT 'gport .,'HELP """'ghelp'"""' .,'NODE 'gnode .,'CLASS "'gclass'"' .,'TRIG 'gtrig .,'VAL 'gval .,'ATTRS 'gattrs
  875.  
  876. window ID SET TITLE '"Object"' COMMAND '"build:set_object ['gobj']"'
  877.     group REGISTER LABELS '"Options,Classes,Attributes"'
  878.         group HORIZ
  879.             group
  880.                 label DOUBLE '"ID:"'
  881.                 label DOUBLE '"Command:"'
  882.                 label DOUBLE '"Port:"'
  883.                 label DOUBLE '"Help:"'
  884.                 label DOUBLE '"Node:"'
  885.                 label DOUBLE '"Trigger:"'
  886.                 label DOUBLE '"Value:"'
  887.             endgroup
  888.             group
  889.                 string ID S1 CONTENT gid
  890.                 popasl ID S2 CONTENT gcommand
  891.                 string ID S3 CONTENT gport
  892.                 string ID S4 CONTENT ghelp
  893.                 string ID S5 CONTENT gnode
  894.                 string ID S7 CONTENT gtrig
  895.                 string ID S8 CONTENT gval
  896.             endgroup
  897.         endgroup
  898.         group
  899.             dirlist ID D1 COMMAND '"build:ask_comm CSET %s"' ATTRS List_Format '""'
  900.             group HORIZ
  901.                 group
  902.                     label DOUBLE '"Class:"'
  903.                     label SINGLE '"Boopsi:"'
  904.                 endgroup
  905.                 group
  906.                     string ID S6 CONTENT gclass
  907.                     group HORIZ
  908.                         group
  909.                             if index(args,'BOOPSI') ~= 0 then check ID C1 COMMAND '"build:ask_comm CLASS"' ATTRS Selected TRUE
  910.                             else check ID C1 COMMAND '"build:ask_comm CLASS"' ATTRS Selected FALSE
  911.                         endgroup
  912.                         space HORIZ
  913.                     endgroup
  914.                 endgroup
  915.             endgroup
  916.         endgroup
  917.         call attrsgroup
  918.     endgroup
  919.     call okgroup gobj
  920. endwindow
  921. check ID C1
  922. if result then dirlist ID D1 PATH '"SYS:Classes/Gadgets"'
  923. else dirlist ID D1 PATH '"MUI:Libs/MUI"'
  924. call attrscomm gattrs
  925. return
  926.  
  927. open_ask_generic: procedure
  928. parse arg line
  929.  
  930. window ID SET TITLE '"Generic Object"' COMMAND '"build:set_object []"'
  931.     string ID P1 CONTENT line
  932.     call okgroup gobj
  933. endwindow
  934. return
  935.  
  936. open_ask_application: procedure
  937. parse arg line
  938.  
  939. parse var line obj args
  940.  
  941. gobj = insert(obj,'',pos(obj,line)-1)
  942. parse var args 'ATTRS 'gattrs
  943.  
  944. window ID SET TITLE '"Application"' COMMAND '"build:set_object ['gobj']"'
  945.     call attrsgroup
  946.     call okgroup gobj
  947. endwindow
  948. call attrscomm gattrs
  949. return
  950.  
  951. open_ask_method: procedure
  952. parse arg line
  953.  
  954. Listview_DragType =               0x80425cd3 /* V11 isg LONG              */
  955. List_DragSortable =               0x80426099 /* V11 isg BOOL              */
  956. Listview_DragType_Immediate = 1
  957. List_Insert_Bottom = -3
  958. List_GetEntry_Active = -1
  959.  
  960. parse var line obj args
  961. gobj = insert(obj,'',pos(obj,line)-1)
  962. if index(strip(args),'ID') = 1 then parse var args 'ID 'gid args
  963. else gid = ''
  964. parse var args gattrs
  965.  
  966. window ID SET TITLE '"Method"' COMMAND '"build:set_object ['gobj']"'
  967.     group
  968.         group HORIZ
  969.             label DOUBLE '"ID:"'
  970.             string ID S1 CONTENT gid
  971.         endgroup
  972.         list ID ALST DROP COMMAND '"build:attrs MADD %s"',
  973.             ATTRS Listview_DragType Listview_DragType_Immediate,
  974.                   List_DragSortable TRUE
  975.         string COMMAND '"list ID ALST INSERT POS List_Insert_Bottom STRING %s"' PORT BUILD
  976.         group
  977.             button COMMAND '"build:attrs MLIST"' LABEL 'Method List'
  978.             button COMMAND '"build:attrs LIST"' LABEL 'Attribute List'
  979.             button COMMAND '"build:attrs VLIST"' LABEL 'Variable List'
  980.             button COMMAND '"list ID ALST POS 'List_GetEntry_Active' STRING"' PORT BUILD LABEL 'Remove'
  981.         endgroup
  982.     endgroup
  983.     call okgroup gobj
  984. endwindow
  985. list ID ALST COMMAND '"build:attrs ASKSET %s"'
  986. do while gattrs ~= ''
  987.     parse var gattrs name gattrs
  988.     list ID ALST INSERT POS List_Insert_Bottom STRING name
  989. end
  990. return
  991.  
  992. attrsgroup: procedure
  993.  
  994. List_Format =                     0x80423c0a /* V4  isg STRPTR            */
  995. List_GetEntry_Active = -1
  996.  
  997. group
  998.     list ID ALST DROP COMMAND '"build:attrs ADD %s"' ATTRS List_Format '"BAR,"',
  999.         HELP '"Drag and drop an attribute from list.\nDouble click on attribute to edit."'
  1000.     string COMMAND '"build:attrs ADD %s"'
  1001.     group HORIZ
  1002.         button COMMAND '"build:attrs LIST"' LABEL 'Attribute List'
  1003.         button COMMAND '"list ID ALST POS 'List_GetEntry_Active' STRING"' PORT BUILD LABEL 'Remove'
  1004.     endgroup
  1005. endgroup
  1006. return
  1007.  
  1008. attrscomm: procedure
  1009. parse arg gattrs
  1010.  
  1011. List_Insert_Bottom = -3
  1012.  
  1013. list ID ALST COMMAND '"build:attrs ASKSET %s"'
  1014. do while gattrs ~= ''
  1015.     parse var gattrs name value gattrs
  1016.     list ID ALST INSERT POS List_Insert_Bottom STRING name',='value
  1017. end
  1018. return
  1019.  
  1020. okgroup: procedure
  1021. parse arg gobj
  1022.  
  1023. group HORIZ
  1024.     button COMMAND '"build:set_object ['gobj']"' LABEL 'OK'
  1025.     space HORIZ
  1026.     button COMMAND '"window ID SET CLOSE"' PORT BUILD LABEL 'CANCEL'
  1027. endgroup
  1028. return
  1029.